Purchase Orders for WooCommerce

plugin banner

Adds a Purchase Order payment method to WooCommerce.

Author:McGregor Media Web Design (profile at wordpress.org)
WordPress version required:4.8
WordPress version tested:5.8
Plugin version:1.8
Added to WordPress repository:20-09-2017
Last updated:30-06-2021
Rating, %:100
Rated by:3
Plugin URI:https://mcgregormedia.co.uk
Total downloads:12 196
Active installs:1 000+
plugin download
Click to start download

Adds a Purchase Order payment method to WooCommerce.

Select if the order is to be On Hold or Processing after checkout. The gateway will ask for the purchase order number – select whether to also display text boxes for name and address of the company to be invoiced, and whether any of those are required fields. Don’t forget to mark a field as not required if it’s not to be displayed or your customer will not be able to check out!

The purchase order details will be displayed in the admin order screen, the customer order received screen and both admin and customer order emails.

WooCommerce compatibility

This plugin is compatible with WooCommerce 3.x and 4.x versions.

Compatibility with other plugins

Some invoicing plugins require the meta keys of purchase order data to display this data on invoices. The meta keys used in this plugin are listed below:


Order status

By popular demand, the Pending order status has been added to On Hold and Processing. Be aware that if you set the status to Pending, neither you nor the customer will receive an order email after checkut – this is standard WooCommerce functionality. Order emails will be sent when a status is changed from Pending to On Hold or Processing.

GDPR information

This plugin will gather and store a company’s name, address and/or email address. This could also be construed as an individual’s personal data. However, as the user has opted to pay by this method, it is suggested that the lawful basis for processing this data is contractual necessity. Processing is necessary in order to send the invoice to the user or user’s representative. This data is stored as standard postmeta data and will be retained until the order is permanently deleted (but not if the order is trashed).