Orders created via GraphQL API without customer are missing `destination` on fulfillment orders

We noticed, that some orders that are created via GraphQL API with the orderCreate mutation don’t have a fulfillment record set on fulfillment orders.
After debugging this with the Shopify support, it was confirmed to be a bug:

This is a confirmed bug on our side, not something wrong with your integration.

The shipping address is present, so the destination can be inferred. Here is their summary:

When an order is created via orderCreate without a customer attached, the internal fulfillment-order destination record fails an internal validation (it currently requires a customer to be present) and is dropped, which is why fulfillmentOrder.destination comes back null, even though your shipping address is valid and present. The fulfillment orders themselves are created asynchronously after the mutation returns, which matches the few-minutes delay you saw.

The was reported and is known for close to 3 months now at the beginning of August and was forwarded to the relevant team:

We’ve filed this with the Fulfillment team to fix the destination creation so it no longer depends on a customer being attached.

However, it is still not fixed and check-ins haven’t provided any additional details, except a reference to the suggested workaround:

Workaround until the fix ships:
Attach a customer to the order in the orderCreate mutation (even a minimal/placeholder customer). With a customer present, the destination record validates and persists correctly, and fulfillmentOrder.destination will contain your shipping address data as expected.

Hi Joda, I’ve raised this again internally and will be keeping an eye on it. I’ll share an update here as soon as I know more. Thanks for your patience.