Conditional billing address behavior in checkout

I am trying to solve a checkout behavior issue for a cart type use case in Shopify.

We have carts where a cart attribute is set as:

DFType = pickup

In this flow, the shipping address represents the dealer location, not the customer’s actual billing address.

What we want

For these pickup carts only, we want to:

  1. Hide the “billing address same as shipping” toggle / option, or
  2. Default billing address to separate from shipping automatically

What we confirmed with Shopify Support

Shopify Support confirmed the following:

  • Checkout UI Extensions do not have a target for the billing address section and can only add UI, not remove or suppress native checkout elements.
  • The Checkout Branding API does not provide controls for billing address visibility.
  • The billing address is read-only from an extension, so it cannot be preselected or filled programmatically.
  • The only supported setting today is the store-wide checkout preference:
    Settings > Checkout > Advanced preferences > Address collection > “Don’t use shipping address as billing address by default”
  • However, that setting is global and cannot be applied conditionally based on a cart attribute like DFType = pickup.

Question

Has anyone implemented a workable pattern for this kind of conditional checkout behavior?

Specifically:

  • A way to handle pickup flows where shipping address is not the correct billing address
  • Any workaround that is production-safe
  • Any alternative architecture, app pattern, or checkout design that avoids confusing the customer