PO box blocker
PO box blocker for the billing address, not just shipping
Native checkout can block a PO Box on shipping. It does not check the card billing address, so a buyer can ship to a street and still bill a PO Box.
AddressFence on the App Store: apps.shopify.com/address-guard. Publish a billing rule, then test one blocked PO Box and one allowed street address.
Adjacent jobs: B2B purchase order · staff access audit · Prop 65 warning.
Comparison: native shipping-rate hide vs checkout validation vs AddressFence. Since 17 June 2026, Checkout Blocks can block a PO Box on shipping for every merchant. Billing and edge cases are the gap. Do not block every PO Box.
Native Checkout Blocks “address format validation” is documented as shipping-only. Billing fields are not validated by that rule.
If you also need a street number on the address line (a separate sibling rule), Free AddressFence covers billing PO-box and street-number checks.
Install, publish the billing rule, then prove one block
The paid path on this page is narrow: reject a PO Box on the card billing address, not a shipping-only format check.
- Install AddressFence from the App Store.
- Open the app and publish checkout validation that targets billing.
- Test once with a PO Box on billing (must block) and once with a normal street address (must pass).
Native Checkout Blocks address-format validation is documented as shipping-only. If the rule only watches shipping, this guide’s job is not done. Street-number checks are a sibling rule on the same page - still not shipping-only.
Demo
Short walkthrough of the app flow. Then follow the start path below.
Start path: billing PO Box rule
- Open the AddressFence listing (
apps.shopify.com/address-guard) and install it. - Configure the PO Box rule so it applies to billing, not only shipping.
- Publish the rule to checkout validation.
- Place two test checkouts: a PO Box on billing (must error) and a normal street billing address (must pass). Roll back if the live function is wrong.
The reviewer screencast on this site shows that same loop: rules → publish → blocked vs allowed → roll back → billing controls.
Install AddressFence, then publish a billing PO Box block
Street number is a sibling rule — still not shipping-only
Blocking a PO Box answers “is this a PO Box?” Requiring a street number answers a different question: “does this street line include a house number?”
Shopify’s older Address Blocker / require street number app sunset on 31 August 2026 and was not migrated into Checkout Blocks address-format validation. Merchants who still need “no bare street line without a number” need a separate check. That is an edge case, not a reason to say native Shopify cannot block a PO Box on shipping.
Treat street-number as a sibling of the billing PO Box job on this same page:
| Rule | What it rejects | Billing vs shipping |
|---|---|---|
| PO Box on billing | PO Box (and similar patterns you enable) on the card billing address | Shipping-only native format validation does not cover billing |
| Street number | A street line with no house number | Same gap: do not assume a shipping format rule fixes billing |
Do not copy every shipping address type onto billing unless that is the actual store policy. Turn street-number on only when bare lines without numbers are the problem you want to stop.
Suggested path:
- Install AddressFence from the App Store listing.
- Configure the billing PO Box rule; optionally enable the street-number check.
- Use the simulator on sample addresses before you publish.
- Publish to checkout validation.
- Run two live tests: a PO Box (or number-less street) on billing must error; a normal street billing address must pass.
- One-click rollback if the live function is wrong.
This is checkout address validation, not fraud prevention, not AVS, and not legal advice.
Native gaps vs a billing-targeted rule
| Control | What it sees | PO Box on billing? |
|---|---|---|
| Checkout Blocks address format validation | Shipping address types (PO Box, locker, military, and similar) | No — Help Center: billing fields are not validated |
| Require shipping = billing | Whether the two addresses match | No detector; blocks gifts; a matched PO Box still passes |
| Carrier / delivery restrictions | Whether a rate is offered to a ship-to | No — billing is never rated |
| Checkout validation on billing | billingAddress lines at checkout |
Yes, if the published function targets billing |
Cart and checkout validation can attach errors to billing address fields. That is the native extension point; it is not a merchant toggle in Checkout settings. AddressFence publishes to that validation surface.
What this page is not
- Not a shipping-only PO Box how-to. If you only need ship-to blocks, native address format validation may already cover it.
- Not B2B purchase-order number validation. That job is B2B PO number required.
- Not a Prop 65 warning. That job is 2028 product-page short-form warnings.
- Not a fraud guarantee or legal advice.
Does a shipping PO Box block also stop PO Box billing?
No. Native address format validation in Checkout Blocks can block PO Boxes and similar types on the shipping address. The Help Center states that billing address fields are not validated by that rule. A buyer can ship to a street address and still put a PO Box on the card billing address unless something else rejects billing.
Can I just require shipping and billing to match?
That native preference forces the two addresses to be the same. It is a fraud-control option, not a PO Box detector. It also blocks legitimate gift checkouts where shipping and billing should differ. If the matched address is a PO Box, both sides stay a PO Box. Use a billing-targeted checkout validation rule when the job is “no PO Box on billing.”
Do carrier restrictions or delivery profiles cover billing?
No. Hiding rates for PO Box shipping (carrier rules, delivery customizations) only affects how the order ships. Digital carts and “billing different from shipping” still collect a billing address. Native shipping tools do not publish a first-class “block PO Box on billing” toggle.
How do I block PO Box on billing at checkout?
Publish a checkout validation function that reads the billing address (not only shipping) and returns a field error on PO Box patterns. AddressFence (listing handle address-guard) is the App Store app this site already uses for PO Box blocking on checkout and billing. Open the listing, configure rules, publish to checkout validation, then test a blocked PO Box and an allowed street address. You can roll back the published function.
Will this also block military, diplomatic, or parcel-locker addresses?
Only if you turn those types on in the rule set. Native shipping address-format rules can include diplomatic, military, parcel locker, PO Box, and USPS gopost® — still on shipping, not billing. Do not copy every shipping block onto billing unless that is the actual policy. Test each type you enable.
Does blocking a PO Box on billing stop fraud?
No. It only rejects addresses that match the patterns you publish. It is not an AVS replacement, not a chargeback guarantee, and not legal advice. Pair it with the payment protections you already use. False positives happen if a street address contains “PO Box” in a second line; review tests before you leave the rule live.
What if the cart has no shipping address?
Digital or shipping-not-required carts still have a billing address. A shipping-only PO Box rule never runs on those checkouts. That is the case where a billing-targeted rule matters most. Confirm the function is published and that a test checkout with a PO Box billing line is rejected.
Related pages
- AddressFence: PO Box Blocker — live App Store listing
- Shipping-rate hide vs checkout validation vs AddressFence
- Reviewer screencast — rules, publish, blocked vs allowed, billing controls
- B2B PO number required — purchase-order numbers, not PO Boxes
- Staff permission drift access audit
- Prop 65 2028 product-page warning
- B2B purchase-order terms at checkout — PO numbers, not PO Boxes
- Shopify apps hub
- Tools
Not legal advice. Not a fraud or chargeback guarantee. Native shipping PO Box blocks do not validate billing. Test blocked and allowed addresses before you leave a function published.