We have created a custom 3rd party fulfillment service and all is working as expected for online sales.
Our challenge is for orders imported through the API.
If items are sent with missing/invalid product or variant IDs, the orders are automatically tied to the default (manual) location which isn't mapped to any products or inventory.
We are unable to set the default location to the 3rd Party Fulfillment Service, since the location settings do not allow "App" locations to be set as the default, nor are they available when configuring location priorities.
We would like to see if we can configure one or both of the following:
1) Have the custom fulfillment service set as the default for products that do not exist, and/or
2) Force order imports to fail if the product/variant does not exist.