How can I block customer P.O.Box addresses or reword address field to indicate - no P.O. Box address

Topic summary

A merchant needs to block P.O. Box addresses due to an impending Canada Post strike, as they only ship to P.O. Boxes via that carrier.

Temporary Workaround Suggested:

  • Enable multi-page checkout to make shipping notices more visible
  • Add a “NO P.O. BOX DELIVERY” warning in the checkout’s shipping method section
  • Access via: Sales Channels > Online Store > Themes > Edit default theme content > Checkout & System tab > Checkout shipping subsection > “Shipping method notice” field
  • Screenshots provided show where to insert custom text

Additional Options:

  • Add “No PO Boxes” text to manually created flat rate shipping options
  • Turn off live carrier rates and create manual rates with custom messaging

Status: No permanent solution for actually blocking P.O. Box addresses at checkout has been identified; the workaround relies on customer notices rather than technical prevention.

Summarized with AI on October 28. AI used: claude-sonnet-4-5-20250929.

I only use Canada Post shipping for P.O. Boxes. With the pending strike, how do I “block” or “not accept” P.O Box addresses and ask for civic addresses only?

1 Like

I could use an answer to this myself, but in the meantime I’ve done a slight workaround in my checkout that you could try to buy you some time until a solution is found.

If you enable the multi-page checkout instead of 1-page, you can add a note in the Shipping Method section via the visual editor and your customers should see it before they choose their method. [You can still do this with the 1-page checkout, but it’s hidden until they click “see more” to show more service options.]

Go to Sales Channels > Online Store > Themes > 3 dots next to your active theme = “Edit default theme content”. It’s hard to search for, but if you can find it by selecting the “Checkout & System” tab and scroll waaaaay down to the “Checkout shipping” subsection. Look for a line that says “Shipping method notice” and put your text in that box. See my screenshots, I have lots of text there but you could use it to just put a note something like " NO P.O. BOX DELIVERY ".

Also, if you manually use flat rates instead of live rates from a carrier directly, you can add text to say “No PO Boxes” in that area too. I did something like that with the “Canada Post Small Packet” option in my pic above… I turned off Canada Post live rates entirely and added “Expect delays” in the details line of a manually created flat rate. I also manually created UPS rates since I’m on the Basic plan and can’t add 3rd party carriers.

Anyway, I hope either of those ideas might work for you. :grin:

  • Elaine

The strike definitely complicates things, especially since backup carriers like UPS or FedEx usually don’t deliver to PO Boxes.

Changing the address label in your theme is a good first step, but customers often overlook it. If you need a strict block to ensure you only get street addresses during the strike, I built an app called NoBox: PO Box Blocker that handles this.

It detects PO Box variations and stops the checkout before the order goes through. You could essentially enable it just for the duration of the strike to avoid fulfillment issues, and disable it later.

Here is the link if you want to take a look: **NoBox: PO Box Blocker

Wesley**

Hi, you can block P.O. Boxes by adding address validation rules and checkout conditions based on keywords like “P.O. Box.” I can set this up cleanly and also display a clear notice asking for civic addresses only. what platform are you using (Shopify, WooCommerce, etc.)?