B2B PO uniqueness

Native Net Terms do not stop a reused PO number — uniqueness is a separate checkout rule

Shopify's native Net Terms do not reject a PO number that was already used; you need a checkout validation rule that checks the PO number against previously used numbers and blocks the company checkout when it matches. B2B PO Guard — Require PO validates PO numbers by format, prefix, regex, length, and uniqueness, and previews any PO rule live against a sample number before you publish.

B2B PO Guard — Require PO (Shopify App Store) validates purchase-order numbers by format, prefix, regex, length, and uniqueness, previews a PO rule against a sample number before you publish, sets deposit percentage guardrails, and routes oversized B2B orders for review. It works alongside native Net Terms. D2C and no-company checkouts stay untouched. Free includes one live PO rule with a monthly order cap. Deposit guardrails and review routing are paid features. This page is not legal advice.

Related: PO Box Blocker — AddressFence — Free blocks PO Boxes and parcel lockers on the shipping address at checkout, plus a small set of ZIP rules. Street-number checks and billing-address rules are on a paid plan.

Free check first: PO number format tester runs in your browser and sends nothing. Test prefix, length, characters, regex and duplicates on sample PO numbers.

Uniqueness is not the same job as “PO required” or Net Terms

Native company payment terms control when the company pays. A required-PO rule rejects empty or malformed strings. Uniqueness rejects a number the buyer has already used — format/prefix/regex/length can still pass while a duplicate slips through unless uniqueness is part of the published rule. Preview a sample number before you publish.

Install B2B PO Guard — Require PO

Write a review

How to add uniqueness to the PO rule

  1. Draft the PO rule with format, prefix, regex, length, and uniqueness as you need them.
  2. Preview the rule live against a sample number (including a known reuse) before publish.
  3. Publish for company checkout; D2C and no-company checkouts stay untouched.
  4. Keep Net Terms, deposit %, and order-review holds as separate jobs when you need them.

Install B2B PO Guard — Require PO

Not the same as require-PO, deposit %, order review, or D2C no-op

Install B2B PO Guard — Require PO

What this page is not

Install B2B PO Guard — Require PO

Paste a list of sample numbers into the free PO number format tester to see which ones repeat.

Related pages

Not credit insurance. Native Net Terms do not validate PO uniqueness. Preview a sample number before you leave a rule published.