WooCommerce Phone Orders & Manual Orders WooCommerce Phone Orders & Manual Orders

Need to way to more easily create phone orders, or manually add new orders?

WooCommerce Phone Orders & Manual Orders lets you do that, quick and easy. Use the smart search box to search for products by name or SKU, click to add them to the order, select an customer or add a new customer, choose the shipping method if shipping is required, select a payment method, enter the payment details, and place the order. You’re done.

For selecting customers, you can add new orders for a “Guest” shopper ( shoppers that don’t already have, or don’t need, a user account on your site ), or optionally add a new customer and register a user account at the time the order is placed.

For selecting products to add to the cart, the plugin works for simple, variable, grouped products, composite products, bundled products, subscription products, and many others. And for product pricing, WooCommerce Phone Orders & Manual Orders works with our Dynamic Discounts, Wholesale Pricing, Tiered Pricing, Checkout Fields Editor Pro, Donations Pro, Gift Certificates Pro, and many more. ( Many of our other plugins are also supported, feel free to contact us to ask about support specific features ).

For highly specialized products that require extra data input or selections when ordering, the plugin lets you do that too. So it works great for products that require custom input from forms created by our Product Add-on Forms plugin, or other third party plugins such as Gravity Forms, and many others.

You can place orders on hold and resume processing the order at a later time. And you can load any existing order and use it as a starting point for a new order, which is great if you have customers that routinely place orders for the same items.

You can also apply coupons, if you want to, when placing orders for your customers.

You can optionally manually adjust product prices for most normal types of products on the fly when you want to ( note that this is not shown in the video demo ).

You can optionally add arbitrary products to an order even when those products don’t exist in your store catalog.

And, you can optionally set a custom shipping price for the order ( note that this is not shown in the video demo ).

Add cart fees using any label and fee amount that you need.

Works with most payment gateways, such as Check Payments, Bank Transfers, PayPal, Stripe, Authorize.net, FirstData, Simplify Commerce, and more than a hundred others.

Works with all your shipping gateways, including USPS, Fedex, UPS, Canada Post, Australia Post, our Table Rate Shipping Pro, and many more!

Need to ship orders to multiple address? Use our Ship to Multiple Addresses extension.

See the Screenshot tab above to view images of the simple settings and an example of what the manual order entry page looks like.

 

Compatibility: WooCommerce 2.4.12 or newer

Comes with great support via email and phone!

 

 

Woocommerce Phone Orders & Manual Orders pageWoocommerce Phone Orders & Manual Orders - Add arbitrary productWoocommerce Phone Orders & Manual Orders - Settings

We keep all of our software up to date with the latest versions of WooCommerce and WordPress.

If you don't see any recent changes below it's because none have become necessary!


Version 3.1.15 - March 17, 2020

	Ensure user context is checked properly, helps with Ajax requests to search for products

Version 3.1.14 - March 11, 2020

	Updated to support WC 4.0

Version 3.1.13 - March 3, 2020

	When loading an order allow option to load coupons associated with the order

Version 3.1.12 - December 20, 2019

	Added fields for tax class and tax status to the "add arbitrary product" form 
	
Version 3.1.11 - July 10, 2019

	Better support for bundled products in relation to changing quantities and prices - all items are now references by cart item ID
	
	Add filter to prevent WC Google Analytics Pro plugin from injecting JS code into the phone/manual order page. 
	
	Updated "search company names" feature

	Adjusted order search for sites using Sequential Orrder Numbers
	
	Remove variation if parent variable product is not published
	
Version 3.1.10 - June 24, 2019

	IMPORTANT: AUTOMATIC DELETION OF ARBITRARY PRODUCTS HAS BEEN RE-ENABLED
	
	Allow zero price for arbitrary products
	
	Ensure payment instructions (for the check payment gateway, etc) do not appear twice. Only initialize WC payment gateways if they are not set yet.
	
	Ensure tax exempt checkbox settings carries over when checked, after a customer is selected and added to the order 
	
	Make customer search work based on 2 character minimum instead of 3
	
	Updated order items template to show price change box (if enabled) when the price is zero (0).
	
	Added CSS styles into the billing field template (inline styles) to ensure the state field boxes for billing/shipping remain at 100% width
	
	Fixed default country setting so that if the country has no states/provinces/counties then default to "*"
	
	Do not default to "US" / "TX" if no default country set yet
	
	Added new column to the list of orders in the admin area that shows if the order was placed with via phone/manual order and if so which user placed it (column is labeled "Via" by default, changeable by a filter)
	
	Added new setting to enable searching by company name. This is optional, on sites with a huge number of customers the search might be very slow.
	
	Added new setting to enable showing the order date and/or the order total in the results when searching for an existing order
	
	Always enqueue WP dashicons for help tip display
	
	Prevent the page from scrolling to the top after Ajax for quantity or price change
	
	Ensure product price in the items table is not crossed out unless the price is discounted or changed

Version 3.1.9 - May 3, 2019

	Remove the previously added "company" search capability, causes significant performance problems on some sites. To be re-implemented in a future version.

Version 3.1.8 - April 25, 2019

	Ensure payment gateways are always intialized when the order page loads
	
	Improved existing order search speed by ~300%
	
Version 3.1.7 - April 23, 2019

	Search company name when searching for a customer - WC 3.x and newer
	
	Added setting to configure the ordering of categories
	in the product category dropdown list (by name, term order, or ID)
	
	Changed product category dropdown list to be hierarchical
	
	Set customer ID before saving the customer account (even though the account exists already) to avoid a rare edge case where WC may get confused as to the actual customer ID number in the customer object.
	
	Run a hook for "template_redirect" early to see if the order page is being loaded and if so remove all other actions for that hook to prevent 3rd party plugins from intercepting and redirecting away from the page
	
	Changed items table template to call wc_get_price_including_tax() or wc_get_price_excluding_tax() directly instead of running it through a WC filter

Version 3.1.6 - March 11, 2019

	When loading an order store the order ID in the user session so that the order notes can be loaded if any exist

Version 3.1.5 - February 5, 2019

	Add the customer's note to the order form when loading existing orders, if a note exists in the order
	
	Adjusted the CSS for the product search to allow it to expand when more than one product is selected from the results list
	
	Ensure that any products in the order have have a price of zero do not display "Product has no price, cannot be purchased"
	
	Added new setting for sites that use an extentions to enforce min/max/step/increment rules for quantity input fields, when this new setting is enabled the rules are enforced, otherwise they are not.
	
	Adjust the items table template to better handle decimal and thousands separators for the hidden price fields

Version 3.1.4 - January 8, 2019

	Updated the do_action() call to "woocommerce_after_checkout_validation" to pass a second parameter for errors
	
	Correct the new user creation to ensure that it always writes the new user's address info into the account when necessary

Version 3.1.3 - January 4, 2019

	For WC 3.5.x - ensure billing address becomes the shipping address if the cart needs shipping and "Ship to a different address" is not selected at checkout
	
	Removed the hooked "wc_ajax_checkout" and replace with the correct action in this plugin, helps on some sites that use the "wc-ajax" endpoint
	
	Return from process_customer() without processing if the order is being placed as a guest order and Create Account is not selected for the order.

Version 3.1.2 - January 3, 2019

	Adjusted the insertion for the "configure" product window so that it isn't removed after its first use 
	
	Adjusted the code so that when an item is updated (qty or price change) and it's already in the cart then leave it and update the properties
	
	Adjust the items table template show show the price if it is altered

Version 3.1.1 - December 31, 2018

	Switch user context when checking if the custom payment gateways should be loaded

Version 3.1 - December 7, 2018

	Restructured class files and directories, removed deprecated code
	
	Changed the way user switching is handled to provide better support for 3rd party plugins
	
	Changed the start up timing for user switching to provide better support for payment gateways that use stored cards for customers
	
	Removed prettyPhoto JS script in favor of the "Simple Popup" already included in the plugin JS code
	
	Added new filter "ignitewoo_opc_json_search_found_customers" to filter search for customers
	
	Added new filter "ignitewoo_opc_search_post_types" to filter search for products by post type (default = product, product_variation)
	
	Added new filter "ignitewoo_opc_search_post_statuses" to filter search for products by post status (default = publish, private)
		
	Updated all references to the deprecated "posted" property in the checkout routines
	
	Minor CSS adjustments for button sizes and alignments, box styling, and price input field
	
	Adjusted account creation to avoid overwritting logged-in user details
	
	Ensure shipping fields are empty if no customer is assigned to the order when the page page loads
	
	Fixed Javascript conflict with Shipping Zones in the admin area that causes zones to not display

Version 3.0.39 - December 10, 2018

	Temporarily re-added prettyPhoto for use the Configure Product popup box

Version 3.0.38 - December 5, 2018

	Refined SQL query for finding the manual order page URL for the admin menu
	
	Removed unnecessary prettyPhoto and Chosen scripts
	
	Removed the cart.js script and added the coupon functions to ignitewoo-opc.js, helps avoid shipping selection not staying selected
	
	Removed the "ign_compat" functions file, no longer necessary

Version 3.0.37 - November 12, 2018

	Added span wrapper around the text "Load and Overwrite" in the template file so that it can be hidden with custom CSS

	Pass the quantity when applying the filter for add_cart_item_data

Version 3.0.36 - October 25, 2018

	Adjusted JS code so that all functions are contained within a single "document ready" function
	
	Unhook the update_shipping_method binding in the WC cart script since it causes timing issues when used in conjunction with this plugin

Version 3.0.35 - October 14, 2018

	Ensure "validate_fields" method is called if the chosen payment gateway has that method available

Version 3.0.34 - September 28, 2018

	Ensure cart script is enqueued, necessary to remove items from the order

Version 3.0.33 - September 25, 2018

	Ensure checkout script is enqueued.
	
Version 3.0.32 - September 24, 2018

	Added filter to allow 3rd party software to intercept order searches
	
	Pass the order object to the woocommerce_checkout_order_processed filter call

Version 3.0.31 - September 13, 2018

	Do not enqueue the cart script for WC 3.2 and newer, no longer necessary. This corrects and issue where sometimes the selected shipping method didn't always stay selected.

Version 3.0.30 - September 4, 2018

	Ensure allowed users (based on role or user account) that are not admins or shop managers can search for customers to add to an order

Version 3.0.29 - September 3, 2018

	Declare a global variable in a class method to prevent a fatal error 
	
	Ensure proper user context during the "update_order_review" process to avoid an ajax security error.

Version 3.0.28 - August 24, 2018

	Rename the "quantity" parameter to "qty" to avoid conflicts with sites that use "Quantity" as a variable product attribute
		
	Ensure altered prices are only returned when viewing the phone/manual order page
	
	Ensure correct user context when writing the clerk's name into the order

Version 3.0.27 - August 17, 2018

	Ensure the code is running the OPC user's context when localizing scripts to ensure the nonce is correct for the user

Version 3.0.26 - June 19, 2018

	Added experimental full page view (see the new setting)
	
	Corrected an issue where an invoice isn't sent if that option is checked for the Invoice Payment gateway at checkout

Version 3.0.25 - June 16, 2018

	Remove thousands separator in add_item_to_cart() to avoid number truncation problems in some versions of PHP that occure when a comma is present in a floating point number

Version 3.0.24 - May 31, 2018

	Change WC version check from 3.1 to 3.2 and lower when creating an order for WC 3.x, this stops 500 errors when creating a new order on WC 3.0.x through 3.1.x

Version 3.0.23 - May 30, 2018

	Attempt to allow payment gateways to retrieve cards stored for a customer by setting the proper customer ID during the retrieval of gateways by WC.

Version 3.0.22 - May 24, 2018

	Tweaked user context switching to always show correct prices in the order review and to correct invalid checkout nonce due to wrong user context introduced with WC 3.4.

Version 3.0.21 - May 22, 2018

	Updated to support the new checkout nonce field in WC 3.4

Version 3.0.20 - May 17, 2018

	Backward compatibility tweak for sites running PHP 5.3.x

Version 3.0.19 - May 4, 2018

	Added backward compatibility when saving orders for WooCommerce version 3.0.x but less than 3.1
	
	Ensure customer info is populated from the order data if the customer is a guest (no user account exists)

Version 3.0.18 - April 25, 2018

	Attempt to cause is_checkout() to return true during order review Ajax requests
	
	Ensure user context is set to the logged in user when the custom shipping cost gateway is loaded

Version 3.0.17 - April 23, 2018

	Adjusted JS to find specfic table scrope for setting the opc_price value, prevents incorrect pricing calculations

Version 3.0.16 - April 3, 2018

	Convert attribute value to array if it is an object

Version 3.0.15 - April 2, 2018

	Modified the JS tied to the "Update cart totals" button to get price changes from the newer price edit field

Version 3.0.14 - March 29, 2018

	In the items table template ensure that "get_attributes" returns an array otherwise set the var to an empty array. 

Version 3.0.13 - March 29, 2018

	Ensure variation ID is sent in Ajax when removing a cart item
	
	Send cart item key with requests to change quantities and prices, help find the exact item in the cart in the event other software (Product Bundles, etc) have the same item in the cart in a package or bundle etc.

Version 3.0.12 - March 19, 2018

	Updated the items template to address deprecated functions in WC 3.3.x

	Added a time parameter to the plugin's JS file enqueuing to ensure the latest version is always loaded

Version 3.0.11 - March 6, 2018

	Corrected issue with variation attributes not being detected if the attribute is part of the attribute taxonomy

Version 3.0.10 - February 15, 2018

	Corrected user context when getting the selected shipping method, inadvertantly flipped to wrong user in v3.0.9

Version 3.0.9 - February 14, 2018

	Correct condition where custom shipping not carried over into order after placed 
	
	Correct Javascript where customer selection not replaced after loading an existing order
	
	Adjust for taxonomy-based attributes for variations that were populated after loading an existing order
	
	Modified cart items table to show regular price and adjusted price if plugins modify the price
	
	NOTE: If you're using a customized phone/manual order template you may need to update it!

Version 3.0.8 - February 6, 2018

	Moved the changeable price field in the one_page_searchable items_table.php template to be its own field independent of the product's regular price. So now it's no longer used for calculations unless it has a value in it. NOTE: If you're using a customized phone/manual order template you may need to update it!
	
	Added CSS for the modified changeable price field
	
	Clear the shipping rate calculation cache for WC 3.3.x when using the custom shipping rate module

Version 3.0.7 - January 24, 2018

	Added new setting to define the default country / state for new orders
	
	Fixed issue where reloading and overwriting an existing order didn't overwrite the order but instead created a new order
	
	Added subscriptions support to the payments gateway for Invoice, Hold Order, and Paid in Person
	
	Updated tax exempt processing to work with IgniteWoo's WooCommerce Wholesale Pro Suite

Ask a Question:

 

From: $129.00 / year

Easily take orders in person or over the phone, including shipping calculations and credit card processing.

All of our plugins come with great support via email and phone.

Subscription options

A subscription entitles you to 1 year of updates and support. Each individual web site requires a license key, so choose the right license for your needs.

Clear