← All HBN Apps

HBN: Address Rules

Block delivery addresses your store cannot serve, apply restrictions to the products that need them, and tell shoppers how to correct their address before completing an order.

Checkout example showing a PO box restriction, a request for a street address, and the affected product

A real address can still be outside your delivery policy

Decide whether you can ship the order before accepting it.

A customer can enter a perfectly valid PO box that your fulfillment service cannot use. Correcting the spelling will not solve that problem.

The same mismatch appears when one product cannot go to a particular region, or when a postal area falls outside the service you offer. Discovering it after checkout means asking for another address or reconsidering the order. The useful rule expresses the delivery constraint while the shopper can still act on it.

Restrict only what you cannot fulfill.

If a restriction belongs to one product or destination, a whole-store ban is too broad. If every item shares the same limitation, one well-tested policy may be all you need.

HBN: Address Rules checks delivery addresses against merchant-defined policies. It does not verify that a street exists, correct addresses, or find an alternative carrier. Shipping rates and fulfillment arrangements still need to support the orders your rules allow.

Make each restriction explainable on its own

Each policy contains one restriction: PO boxes, US military addresses, countries, states or provinces, cities, exact postal codes, postal prefixes, numeric postal ranges, or custom address text. Location and postal rules require destination countries, so a code is evaluated in the intended country context. Country, location, and postal rules can block listed values or allow only listed values within their scope.

Choose the smallest rule that describes the problem. A numeric postal range includes both endpoints; a prefix covers every matching code. Neither is a map of carrier coverage. Custom address text matches phrases in address lines, so a broad word can catch an ordinary street name as easily as the address you intended to restrict.

Order policies by the message a shopper needs first

The policy list supports creating, enabling, disabling, duplicating, and reordering rules. For each delivery group, the first blocking match supplies the customer message. Passing one rule does not grant an exemption from the rules below it.

Address policy list with drag handles, edit and duplicate actions, and a disabled US military address policy
Policy order determines which restriction is explained first when several rules could block the same delivery group.

Product targeting narrows a rule; an exception can waive it

Pro lets you select products, individual variants, or collections. A product selection covers its variants; choose a variant when only that option has the limitation. Product and variant selections are fixed. Collections follow current variant membership, with up to 2 different collections shared across enabled policies and exceptions. Reusing a collection does not count twice. Review membership when your catalog or fulfillment changes.

Take particular care with exceptions. If an item within the policy's scope matches a product, variant, or collection exception, that policy is skipped for its whole delivery group. An address exception also skips that policy for the group. Other policies can still block it. A mixed cart containing both a restricted item and an exception item deserves its own checkout test.

Policy editor with selected-product scope and controls for products, variants, collections, tags, product types, and vendors
Earlier editor shown. Current targeting supports products, variants, and up to 2 shared collections; tag, type, and vendor controls are no longer available.

Test the correction as well as the block

The Pro simulator checks saved policies for one address and one product or variant, showing the first blocking policy and its message. Collection membership is read from Shopify on each test. The simulator does not verify which rules are published to checkout. Use synthetic details, then test blocked and allowed addresses, mixed carts, and delivery groups in a real test checkout.

Address simulator with a PO Box 123 test input and a blocked result showing the policy, customer message, address field, and restricted product
Earlier simulator shown. The current preview tests one address and one product or variant; verify the full flow in checkout.

Rules run when the customer attempts to complete checkout. Editing an address field alone does not trigger this app's message. Save an enabled policy to apply it, attempt the final order action with test payment, then correct the address and retry. If the app offers Activate new checkout, complete that reviewed step before testing the new version; legacy selectors are not converted automatically. Setup does not require a theme edit, app embed, or Checkout UI extension.

Write the message around the correction: “Please enter a street address. We cannot ship this item to a PO box.” Pro supports your own translations with the default message as fallback. The new checkout version can append up to three full affected item names and a remaining count; names may be omitted to fit the response limit. Large multi-address checkouts show up to 20 address errors and a count of additional addresses to correct, without skipping validation. Store-wide blocks use an all-items notice. Names come from Shopify, while app-added notices remain English. Check the rendered message in each checkout language.

Free or Pro?

One shared restriction, or several distinct shipping needs?

Start with the plan that matches the number and scope of restrictions you actually need. View current pricing and plan details on the Shopify App Store.

Free — one store-wide policy

Choose one restriction from all supported address types, set its destination scope, and write a custom checkout message. Disabled policies also count toward the one-policy limit.

This is enough when every product shares one constraint, such as requiring a street address instead of a PO box. It is one restriction, not a bundle of several independent checks.

Pro — policies for a varied catalog

Configure up to 20 policies, including disabled ones, with product, variant, and collection selections, item and address exceptions, translated messages, and one-product simulation. CSV transfers selections, exceptions, and translations; resource IDs belong to one store. Up to 2 different collections are shared across enabled policies and exceptions. Shared configuration limits also apply. The trial is seven days.

Pro becomes useful when products need different delivery boundaries, several restrictions must coexist, or messages need translations. Free and Pro keep separate policy sets; check the active set when changing plans.

Define the address you can accept.

Install free, then prepare one restricted example, one accepted alternative, and a message that explains the difference.

View on Shopify ↗