A missing column is not automatically an invalid CSV
`Fulfillment service` defaults to `manual`, so the checker no longer treats the absence of the column as a fatal CSV error. It reports a warning because per-row fulfillment assignments cannot be inspected from that file.
When the column exists, the checker validates standard values or the handle form used for a custom fulfillment service.
A custom service name is not entered as its display name
Shopify documents custom fulfillment service values as lowercase handles: spaces become hyphens and punctuation is removed. For example, `Joan's Fulfillment` becomes `joans-fulfillment`.
The checker validates that handle shape and leaves existence of the service in Shopify admin as a warning-level human check.
A custom fulfillment service also creates an SKU dependency
This is easy to miss: Shopify states that a variant using a custom fulfillment service cannot have a blank SKU. The checker therefore raises an error when a custom service handle is present but the matching SKU is absent or blank.
A valid-looking service handle is not enough if its related variant data is incomplete.
Review inventory tracking at the same time
Fulfillment assignments interact with inventory locations and tracking. If the CSV also changes inventory tracking, use the Shopify Inventory tracker checker as the next pass. This browser tool cannot confirm that a custom service actually exists in your Shopify admin.