This is an info Alert.
x402 Logo
  • Product
    • Become Agent-Ready
      • Merchants
        Agentic Commerce — list your store across ChatGPT, Gemini, Claude & Perplexity
      • Publishers
        Monetize your content when AI agents read, cite, or train on it
      • SaaS Companies
        Treat AI agents as first-class customers with agent-priced checkout
    • Monetize
      • Monetize MCP Server
        Charge per call on any MCP server in 2 minutes
      • Monetize AI Agents
        Turn n8n, Zapier, Activepieces workflows into revenue
      • Agent Feed
        Pay-per-query access to licensed publisher content for your agents
  • Resources
    • xpay Ecosystem
      • xpay✦ Tools
        1,000+ pay-per-use tools for your AI agents
      • Agent-Ready SaaS Index
        25,481 SaaS scored on agent-buyability
      • SaaS Pricing Database
        Pricing pages indexed across 1,000+ categories
      • Shopify Apps Directory
        Every Shopify app, with its full review history
      • WooCommerce Plugins Directory
        Every WooCommerce plugin, scored on how well it is maintained
      • GitHub
        Open source repositories
    • Agent Building
      • Agent Frameworks
        AI frameworks for building multi-agent systems
      • x402 Integration
        AI frameworks with x402 payment integration
      • Networks
        Blockchain networks supporting x402
    • Company
      • About xpay✦
        Our mission, products, and protocols
      • Blog
        Latest insights and updates
      • Docs
        Complete xpay documentation
  • Pricing
  • Blog
  • Docs
Get Started
  1. xpay✦ Commerce

  2. Directory

  3. WooCommerce plugins

  4. Purchase Orders for WooCommerce

Purchase Orders for WooCommerce

Adds a Purchase Order payment method to WooCommerce.

1K+ active installs
4.2
(5 ratings)
Free on WordPress.org
View on WordPress.orgSupport forum
Will this break my store?

What the WordPress.org registry says about keeping Purchase Orders for WooCommerce running.

WordPress compatibility
Tested to 6.8.6 — 2 branches behind 7.0
A branch or two behind — normal for a plugin between releases.
Last updated
9 months ago
At least 4.3 releases a year since launch. WordPress.org only lists versions still available for download, so the real number may be higher.
Requires PHP
7.4
Your host must be running at least this version.
Requires WordPress
4.8
Requires other plugins
woocommerce
These must be installed and active first.
Contributors
1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.

1K+ active installsWordPress.org reports installs in bands, not exact counts.
Maintenance & trust

Scored on how Purchase Orders for WooCommerce is looked after — not on how many stores run it.

71

out of 100
Mixed signalsSome ratings or support history.

Maintenance
26 / 35
Updated 263 days ago.
WordPress compatibility
14 / 20
Tested to WP 6.8.6, 2 branch(es) behind.
Support responsiveness
Not enough data
Only 0 support thread(s) — not enough to judge.
Merchant satisfaction
10 / 15
4.2/5 across 5 rating(s).
Listing transparency
7 / 10
Provides: screenshots, homepage
1 of 5 measures had too little evidence to score. They are left out of the total rather than counted as zero — otherwise a plugin would be marked down for being small rather than for being poorly kept.Measured 2026-08-01 from the WordPress.org plugin registry.
Ratings

4.2

5 ratings
5★4
4★0
3★0
2★0
1★1
Every rating WordPress.org holds for this plugin, not a sample. Written reviews live in the plugin's WordPress.org reviews forum.

Adds a Purchase Order payment method to WooCommerce.

Select if the order is to be Pending, 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, 4.x, 5.x, 6.x, 7.x, 8.x, 9.x and 10.x versions.

HPOS compatibility

This plugin is compatible with WooCommerce High Performance Order Storage (HPOS) and WordPress posts storage (legacy).

Checkout Blocks Compatibility

This plugin is not yet compatible with checkout blocks.

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:

_purchase_order_number
_purchase_order_company_name
_purchase_order_address1
_purchase_order_address2
_purchase_order_address3
_purchase_order_town
_purchase_order_county
_purchase_order_postcode
_purchase_order_email

Order status

Select the order status to apply to the order to when a customer checks out using a Purchase Order. All order statuses are available for selection including any custom statuses that may have been added. Be aware that if you set the status to Pending, neither you nor the customer will receive an order email after checkout – this is standard WooCommerce functionality. By default, order emails will be sent when a status is changed from Pending to On Hold or Processing.

Custom fields

You can add your own fields to the frontend checkout form by adding custom HTML to the action hook in the PO checkout form:

pofwc_form_after_po_form

To add a text input field after the PO number field, the code should look something like this:

function custom_checkout_field_after_po_form() {

echo '<p class="form-row form-row-wide">';
    echo '<label for="YOUR-FIELD-ID">YOUR FIELD LABEL TEXT</label>';
    echo '<input type="text" id="YOUR-FIELD-ID" name="YOUR_FIELD_NAME" class="input-text" placeholder="YOUR FIELD PLACEHOLDER">';
echo '</p>';

}
add_action( ‘pofwc_form_after_po_form’, ‘custom_checkout_field_after_po_form’ );

You can of course change the form HTML to output a different field type such as a select dropdown or textarea.

To save your custom field, hook into the woocommerce_checkout_update_order_meta action as in the example below:

function custom_checkout_field_update_order_meta( $order_id ) {

$order = wc_get_order( $order_id );

if ( ! empty( $_POST['YOUR_FIELD_NAME'] ) ) {
    $order->update_meta_data( 'YOUR_FIELD_NAME', sanitize_text_field( $_POST['YOUR_FIELD_NAME'] ) );
}

$order->save();

}
add_action( ‘woocommerce_checkout_update_order_meta’, ‘custom_checkout_field_update_order_meta’, 10, 1 );

There are four places the PO data can be displayed: the order thank you page, the order emails, the customer order history, and the admin Edit Order screen. To display your custom field data, use one of the following action hooks to add your data in the required place:

pofwc_thankyou_display_after_po_form
pofwc_email_display_after_po_form
pofwc_account_display_after_po_form
pofwc_admin_display_after_po_form

To output your example text input from above in the checkout thank you page, the Edit Order screen and customer order history, the code should look something like this:

function display_custom_order_data_after_po_form( $order ) {

echo ( $order->get_meta( 'YOUR_FIELD_NAME', true ) ) ? esc_html( $order->get_meta( 'YOUR_FIELD_NAME', true ) ) . '<br>' : '';

}
add_action( ‘pofwc_thankyou_display_after_po_form’, ‘display_custom_order_data_after_po_form’, 10, 1 );
add_action( ‘pofwc_account_display_after_po_form’, ‘display_custom_order_data_after_po_form’, 10, 1 );
add_action( ‘pofwc_admin_display_after_po_form’, ‘display_custom_order_data_after_po_form’, 10, 1 );

Displaying the data in the emails is slightly different as data escaping is done later in the output process:

function display_email_custom_order_data_after_po_form( $order ) {

echo $order->get_meta( 'YOUR_FIELD_NAME', true ) ? $order->get_meta( 'YOUR_FIELD_NAME', true ) : '';

}
add_action( ‘pofwc_email_display_after_po_form’, ‘display_email_custom_order_data_after_po_form’, 10, 1 );

This code all goes in your functions.php file in your child theme – don’t place this code in a parent theme (unless it’s one you maintain yourself) as it will be overwritten when the theme is updated.

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 (not trashed).

Roadmap

The ability to add and edit purchase order data in the Add/Edit Order screen was introduced in version 1.12.0 but due to it causing fatal errors on some users’ sites, it was removed in version 1.12.2. It is still in the roadmap to add, as is compatibility with the Gutemnberg checkout block. No timeline exists for this as yet however.

Categories
Payment gateways
Plugin details
Version1.12.2
Last updated2025-11-11 11:15pm GMT
Added2017-09-20
Requires WordPress4.8
Tested up to6.8.6
Requires PHP7.4

Tags on WordPress.org
payment gateway
purchase order
woocommerce
Alternatives
Other plugins in the same categories.
Payment Plugins for PayPal WooCommerce
80K+ installs
4.9(124)
Payment Gateway for PayPal on WooCommerce
10K+ installs
4.4(74)
Payment Plugins for Stripe WooCommerce
100K+ installs
4.8(298)
WooPayments: Integrated WooCommerce Payments
900K+ installs
3.3(162)
WooCommerce Stripe Payment Gateway
700K+ installs
3.1(235)
Knit Pay – Cashfree, Instamojo, Razorpay, PayPal and more
2K+ installs
4.9(101)
x402 Logo

The agent-readiness stack for the AI shopping era — helping merchants, publishers and SaaS companies get discovered, cited and transacted with by ChatGPT, Perplexity, Claude, Gemini and the custom shopping agents underneath them.

CompanyAgentically Inc. (d/b/a xpay✦)1875 Mission St, Ste 103San Francisco, CA 94103, United Stateslegal@xpay.sh · privacy@xpay.sh
or ask your AI app
Company
About xpayAgency PartnersGitHubDiscordllms.txt
DevelopersDocumentationAPI ReferenceSDKs & LibrariesQuickstart GuideOpenAPI Spec
Stay Updated
Occasional product updates and agent-readiness playbooks from xpay (Agentically Inc.) — typically a couple of emails a month. Double opt-in: we email you a link to confirm before sending anything, and every email has one-click unsubscribe.
Social
  • For Publishers
    • News
    • Finance
    • Dev / Tech
    • Travel
    • View all verticals
  • Agent Feed
    • AI Search Engines
    • RAG Builders
    • Browser Agents
    • Vertical Research
    • Browse full catalog
  • Agent-Ready Index
    • SaaS Pricing Database
    • Agent-Ready SaaS Index
    • Verified band
    • AI & ML
    • Sales & CRM
  • Products
    • Pricing Widget
    • Monetize MCP Server
    • Paywall
    • Smart Proxy
    • Monetize AI Agents
    • xpay x402 Facilitator
  • Agentic Economy
    • Timeline
    • Resources
    • Manifesto
    • Stack
  • Agentic Commerce
    • Get listed
    • ChatGPT Ads
    • How ChatGPT Ads work
    • ChatGPT Ads · Apparel
    • ChatGPT Ads · Health & Beauty
    • xpay Listings · Amazon + Google
    • Pricing
    • Free audit
    • Shopify
    • WooCommerce
    • Apparel & Accessories
    • Health & Beauty
    • Overview
  • Commerce Index
    • Shopify apps directory
    • Agentic Commerce Ready Index
    • Methodology
    • Pet brands · WooCommerce
    • Pet brands · Shopify
  • Marketplace
    • 🛍️ xpay.deals — agentic storefront for deals
  • Protocols
    • Overview
    • x402
    • MPP
    • UCP
    • ACP
    • AP2
    • TAP
    • A2A
  • Agent Frameworks
    • Overview
    • LangChain
    • CrewAI
    • Claude MCP
    • AutoGPT
    • LangChain vs Mastra
    • LangGraph vs Pydantic AI
  • Company
    • About xpay
    • Blog
    • Docs
    • GitHub
  • Free prompts
    • Ecommerce prompts
    • Email marketing prompts
    • Product description prompts
    • Facebook ad prompts
    • Skincare prompts
    • Supplement prompts
    • Wine prompts
    • Electronics prompts

© 2025 Agentically Inc. All rights reserved.
Privacy PolicyTerms of UseAcceptable Use Policy