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.6.14 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.30 - September 18, 2020

	Ensure payment gateways load early enough. Helps with enqueuing requires gateway Javascript (Stripe, etc)

Version 3.1.29 - September 16, 2020

	New feature: Purchase order payment gateway for manual/phone orders
	
	Remove HTML from price display in search results, removal required due to changes in SelectWoo

Version 3.1.28 - September 15, 2020

	Revert switch to Selectize to avoid payment gateway credit card form problems with fields not displaying

	Enqueue WC credit cart script along with jQuery payment script

Version 3.1.27 - September 9, 2020

	Do not dequeue Select2 or SelectWoo, they might be needed by other checkout related plugins

Version 3.1.26 - September 9, 2020

	Replace the use of Select2.js with Selectize.js
	
	Switch user when WC checks coupon validatity, helps with coupons assigned to specific users.
	
	Switch user before WC calculates totals, helps with 3rd party pricing tools

Version 3.1.25 - August 19, 2020

	Ensure "load and overwrite" works correctly
	
	WC 4.4.x compatibility testing

Version 3.1.24 - August 14, 2020

	Adjusted checkout code to so the order page to always allows a different shipping address even if WC is set to force shipping addresses to be the billing address
	
	Adjusted billing/shipping field verification to ensure all fields are validated if a field is required

Version 3.1.23 - August 7, 2020

	Ensure that searching for a user by ID number works properly
	
	Ensure that searching by company name works properly

Version 3.1.22 - July 17, 2020

	Correct the empty price checking in the order items table template
	
	Adjust compatibility for 3rd party sequential order number plugins

Version 3.1.21 - July 15, 2020

	Allow custom price to be set to zero
	
	Ensure custom price field contains the product's current cart price

Version 3.1.20 - July 10, 2020

	Ensure payment gateways are loaded during startup so that script load properly

Version 3.1.19 - July 1, 2020

	Convert JS ign_opc_do_ajax() function into Promise for chaining ajax
	
	Ensure that the items list table refreshes after changing quantities or prices
	
	Remove deprecated property access and deprecate customer billing address function calls
	
	Added filter for woocommerce_get_cart_item_from_session to set altered price, helps with Wholesale Pro Suite to override wholesale prices

Version 3.1.18 - June 18, 2020

	Added cart item key to the table rows in the items table template file
	
	Send cart item key when updating the line items in the order to ensure the correct product is detected

Version 3.1.17 - May 1, 2020

	Don't manually init payment gateways if navigating pages in the admin area
	
	Remove Javascript Ajax for loading an existing order, use form submit POST method instead, help load address info in guest orders

Version 3.1.16 - April 22, 2020

	Updated price processing for wholesale customers when using Wholesale Pro Suite
	
	Updated processing of overriding a product price

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

Version 3.0.6 - November 12, 2017

	WooCommerce 2.4.6 or newer is now required 
	
	New Feature: Display automatic cart totals update when changing quantities and prices. This helps on slower sites, or with orders that have a very large number of items 
	
	New Template Feature: Added button to the items table to update the cart totals on click if the "Display automatic cart totals update" is enabled
	
	Adjusted variation attribute display to ensure attributes display 
	
	Adjusted code for setting custom prices for variable products 

Version 3.0.5 - November 6, 2017			

	When using the invoice or paid in person gateways call payment_complete() if the order status is Processing or Completed so that other plugins get triggered if they're designed to interact with paid orders. 

Version 3.0.4 - October 28, 2017			

	Adjusted the invoice payment gateway to return a redirect even if the option is on to automatically send the customer an invoice

Version 3.0.3 - October 28, 2017

	Critical update to avoid problems with removing arbitrary products from the store 

Version 3.0.2 - October 27, 2017

	Ensure that the "Clear entire cart" button is rehooked after the order items list updates
	
	Ensure fee is taxable if that option is selected
	
	Adjusted CSS code for better default styling
	
	Fixed double object declaration when checking for arbitrary products in an order
	
Version 3.0.1 - October 26, 2017

	Ensure that the "Address 2" billing and shipping field is loaded from the selected customer's account if a customer is selected.
	
	Ensure that if a an arbitrary product is removed from the cart then only that product is deleted

Version 3.0 - October 15, 2017

	Use selectWoo Javascript if the site uses WooCommerce 3.2 or newer
	
	Added category selector to help narrow product search, helpful when a site has a long list of items with similar names
	
	Added ability to add arbitrary products (products that don't exist yet) to the cart
	
	Added new option to the Invoice Payment gateway to allow automatically sending the customer an invoice is the order status is not Processing or Completed (WooCommerce sends the invoice itself when the order has those statuses)
	
	Load the product "Configure" popup content via HTTPS if the Ajax request was sent via HTTPS, this prevents browser security refusing to load the frame. 
	
	Switched to symantec version numbering for the plugin
	
-- PREVIOUS VERSION INFORMATION OMITTED --

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

Save big with coupon code: Holidays2020 Sale Ends Dec 1st!