zgZachery Gentry
← All support

SHOPIFY APP · B2B CHECKOUT

Require PO Numbers.

Make the purchase order number required on Shopify B2B checkout, on every Shopify plan.
Direct-to-consumer checkout is never affected.

What it does

Gentry: Require PO Numbers is a Shopify App Store app by Zachery Gentry.

Shopify’s B2B checkout shows the PO number as optional, so orders can arrive without the reference a buyer’s accounts payable team needs to approve the invoice. This app stops a B2B order from being placed until the buyer enters a PO number, and shows your message right under the PO number field.

It only checks orders placed for a company, so consumer checkout never changes. It works on every Shopify plan with B2B, not only Plus, because it’s a public app built on Shopify’s checkout validation.

Plans

Billed by Shopify. Each plan has a 14-day free trial, and you can change plans in the app at any time.

Standard, $4.99/month: a required PO number on B2B checkout, your own error message, and the default message in seven languages.

Pro, $9.99/month: everything in Standard, plus PO formats (prefix, length or pattern), rules or exemptions for specific companies and locations, and messages per language.

Set it up

About five minutes, with no code and no theme changes.

  1. Install the app. In the Shopify App Store, search for “Gentry: Require PO Numbers” and click Install. Approve the permissions (checkout rules and reading your B2B companies).
  2. Choose a plan. Shopify shows the plan page: Standard or Pro, each with a 14-day free trial.
  3. Turn the rule on. The app opens on its home page. Click “Turn on”. The status changes to On, and Shopify lists the rule under Settings › Checkout › Checkout rules as “Require a PO number on B2B orders”.
  4. Optional: write your message and rules. Click “Edit rule settings” to change the error message. On Pro, set a PO format, messages per language, and exceptions for companies or locations, then save.
  5. Check it. Log in to your store as a B2B customer, go to checkout and place an order with the PO number empty. The order is blocked and your message appears under the PO number field. Enter a PO number and the order goes through.

Common questions

Can Shopify require a PO number at B2B checkout without an app?

No. Shopify’s B2B checkout always shows the PO number field as optional, on every plan. To make it required you need a checkout validation: a Shopify Function that checks the PO number and blocks the order. On plans below Plus, that function has to come from a public App Store app such as this one, because only Plus stores can run custom apps that contain Functions.

Does it work without Shopify Plus?

Yes. It works on every Shopify plan that has B2B companies, including Basic, Grow and Advanced, as well as Plus. It was tested on a Basic store: the error appears under the PO number field.

Does it affect direct-to-consumer (D2C) checkout?

No. The rule only checks orders placed for a B2B company. Guest checkout and logged-in consumers never see a PO field or an error from this app.

When does the buyer see the error?

Only when they try to place the order. Buyers can edit the cart and fill in checkout without being interrupted. If the PO number is empty, the order isn’t placed and your message appears under the PO number field. A PO number made only of spaces counts as empty.

Why does the field still say “PO number (optional)”?

Shopify controls that label and apps can’t change it. The app enforces the rule anyway: the order can’t be placed without a PO number, and the error message tells the buyer what to enter.

Can I require a specific PO format?

On the Pro plan, yes: a minimum or maximum length, a required prefix such as “PO-”, or a regular expression (for example PO-\d{6}), with an option to ignore uppercase and lowercase. A PO number in the wrong format is blocked with a separate message you can write.

Can some companies skip the PO number?

On the Pro plan, yes. Add an exception for a company or a single location and either exempt it or give it its own format. A location’s exception wins over its company’s.

Which languages are supported?

The default error message is built in for English, French, German, Spanish, Italian, Dutch and Portuguese. On Standard you can replace it with one message of your own; on Pro you can write a message for each checkout language. The app’s settings are in English.

Are orders I create in the admin checked?

No. The rule runs in Shopify checkout, so it checks orders buyers place there. Orders staff create directly in the Shopify admin don’t go through checkout.

What happens if my subscription ends?

The rule stops blocking, so B2B buyers can still check out without a PO number. It never locks buyers out because of billing. Choose a plan again in the app to turn enforcement back on.

What data does the app store?

Only the shop’s Shopify session and which plan it’s on. It stores no customer data, and the rule settings live in your own Shopify store. See the privacy policy.

Need a hand?

Include your store’s myshopify.com address and what you expected to happen.

Get in touch