When I check fulfillment_status for an order the value in null, not ON_HOLD as expected. Why are my orders not showing properly? I also get the webhook data and the value coming in there is null as well. Seems to be a longstanding issue based on community search.
ON_HOLD isn’t actually a valid value for fulfillment_status in Shopify’s API. The API will return null when an order hasn’t been fulfilled, or one of the standard statuses like pending, partially_fulfilled, fulfilled, restocked, or canceled.
If you’re seeing an “on hold” status, it’s very likely either a custom order tag you have or an app has applied it, or it might be related to the financial_status (e.g., pending, authorized, partially_refunded, voided, etc.), but not fulfillment_status itself. Check the tags field on the order object, or the financial_status to see if that’s where the “on hold” state is being represented.
If you’re using an app that helps with managing orders, check with the app and see if something has changed to stop the “on hold” value to appear.
Hope that helps!