WooCommerce Purchase Order Payment Gateway

From: $49.99 / year

Do you need a way to allow customers to place an order before providing payment information? Maybe you need to calculate shipments manually for every order or maybe you want to be able to approve/cancel an order before the customer actually pays. Do you want to only do this for specific scenarios – like a specific product category or shipping method being used? WooCommerce Purchase Order Payment Gateway allows you to separate the checkout process from the payment process to give you more flexibility with your WooCommerce shop. Got questions? Use one of the contact form below!

Tested up to Wordpress v 6.5.x and WooCommerce 8.8.2

We have a demo here: WooCommerce Purchase Order Demo. Send us a message for an admin login.



SKU: N/A Category: Tag:


This is an intermediary payment gateway, which allows your customers to checkout without having to provide payment information. This can be useful if you want to use WooCommerce to provide quotes or if you have items that for one reason or another require manual shipping rate quotes for each order.   You may wish to force your customers to use the payment gateway by selecting “mutual exclusive” which will hide all other payment methods at checkout (but will be available when you’re ready for them to actually pay). Otherwise, you can make all methods available so your customer can choose to defer payment – depending on your particular business model.

How does this PO plugin differ from the one offered at Woocommerce.com?

We released our PO plugin about a year before theirs was released, and theirs is still quite basic. It includes a PO Number field, and that’s it.

In contrast, ours is more robust and highly extensible, allowing you to have Purchase Order available for only specific customers, when specific shipping methods are selected, or with other addons we offer, for specific customer roles, or when specific products or product categories are in the cart. Also, there’s the matter of Exclusivity so you can present only Purchase Order when it is available (but the other payment methods are still available after the customer receives the email with the Pay link (continue reading for more info)

Mutual Exclusivity

WooCommerce Order ActionsWhen the customer checks out, receive an order confirmation email like normal, but a note is displayed indicating that the order hasn’t been paid for yet (this note is configurable in the Customer Message field).

At this point, the order status will be On Hold. When you are ready for the customer to pay, you would change the order status to Pending (note: not Processing), save the order, and then resend the invoice email.

(Alternatively, if you choose to accept some form of offline payment, such as a check, you can simply mark the order as complete once you receive payment)


The customer will, then receive an email with a pay link similar to this:

Email With Pay Link


Upon clicking the link, your customer will be taken to a pay page, which looks similar to the checkout, except that all of the information is in place except for the payment method. All active payment methods will be available here Except for the purchase order payment gateway. Pay Page


Dynamic Availability

There are different options for this plugin depending on how you might want to make purchas order available. You may only want specific users to be able to use Purchase Orders. If so, uncheck “enable for all users” and enable the “Allow purchase orders” on each users profile

WooCommerce Purchase Order Enable For All Users User Profile Purchase Order


On the other hand, you may want to only have Purchase Order available for specific shipping methods – This requires that you also purchase the Shipping Filter Add-on . You can use CTRL (or command on a Mac) to select multiple options – all available shipping methods are selectable here, though you wouldn’t be able to differentiate between UPS ground or UPS 2nd day, for example.

Shipping Methods

Other Fields

I’ve changed these fields from the defaults to illustrate what corresponds to what the document upload label field is, of course, only available with the Upload Add-on

Fields Illustration 1Fields Illustration 2


Here’s a brief explanation of some more fields – The first two are available without additional add-ons:

Fields Explanation

Please note: if you’re looking for more options, or a different solution entirely, I can either build it for you or point you in the direction of an existing product that will. 


There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

  • Latest Version: 3.0.2
  • Active installations: 27
  • Last Updated: 2 weeks ago
  • WordPress Version: 5.0 or higher
  • Tested up to: 6.5.2
  • WooCommerce Version: 3.0 or higher
  • WooCommerce Version Tested up to: 8.8.2
  • PHP Version: 7.0 or higher

You may also like…