Making PO Number mandatory

Topic summary

A developer is seeking a solution to make the PO (Purchase Order) number mandatory at checkout for a B2B Shopify Plus store.

Attempted approaches:

  • Approach 1: Create a custom PO number metafield with a mandatory UI extension at checkout, then use a webhook to transfer the value to Shopify’s native PO number field. However, hiding the original Shopify PO number field is not possible (confirmed with Shopify support).
  • Approach 2: Use a UI extension to validate the Shopify PO number at checkout. This fails because UI extensions are sandboxed and cannot access the native PO number field.

Key constraint: The native Shopify PO number is a B2B feature, and additional JavaScript cannot be added to the checkout page when B2B is enabled.

Status: The discussion remains open with the developer asking if anyone has found a workaround, alternative approach, or hack to validate that a PO number is entered at checkout.

Summarized with AI on November 6. AI used: claude-sonnet-4-5-20250929.

We would like to make PO number mandatory for a client.

We tried these approaches:

  1. approach:
  • Make initial PO number metafield on an order and create a UI extension on checkout where it is mandatory

  • Use a webhook to set the original PO number with the value from the new initial PO number metafield

  • Hide the original Shopify PO Number ( This last bit is not possible, verified with support)

  1. approach:
  • Use a UI extension on checkout tha validate the Shopify PO number
    (The UI extension is sandboxed and we cannot access the PO number)

Does anyone have another approach, workaround, or hack that can validate that PO number is set on checkout?

The Shopify PO Number is a b2b feature in Shopify - with b2b enabled we cannot add additional js to the checkout page.

1 Like