Fulfill Orders with 2 Items one item with Shipping Profile Other item without shipping profile

Topic summary

A developer is encountering an error when attempting to fulfill orders containing items with different delivery method types via the Shopify API (/admin/api/2022-07/fulfillments.json).

The Problem:

  • One item has a shipping profile (delivery method type: “shipping”)
  • Another item has no shipping profile (delivery method type: “none”)
  • API returns error: “All fulfillment orders must have the same delivery method type. Multiple delivery method types ["none", "shipping"] were found.”

Proposed Solution:
A community member suggests splitting the fulfillment into two separate fulfillment requests—one for each delivery method type. This approach would create two separate FulfillmentOrders to handle the different shipping profiles.

Status: The issue remains unresolved as the original poster shared their JSON payload but hasn’t confirmed whether the split-fulfillment approach worked. A similar question was referenced in another community thread.

Summarized with AI on November 21. AI used: claude-sonnet-4-5-20250929.

Hello Team

I’m having issues fulfilling Orders with different Items
as you can see in the image

1st item have a Shipping Profile
2nd item have no shipping Profile

how can i bypass that ?

When i POST : /admin/api/2022-07/fulfillments.json

i get this error

{

“errors”: ["All fulfillment orders must have the same delivery method type. Multiple delivery method types ["none", "shipping"] were found."]

}

Thank you

Hi there,

This is almost the same question as https://community.shopify.com/c/shopify-apis-and-sdks/uregent-unable-to-sync-fulfillments-when-order-contains-both/td-p/2009312

Please reply with the json you send to fulfillment.json.

Just a guess but like the error says, you will have to split your fulfillment into two separate fulfillment requests.

If you look at the fulfillmentOrder it’s also probably two separate fulfillmentOrders as well.

Cheers,

Gary

2 Likes
[
  {
    "id": "1000001",
    "recordType": "itemfulfillment",
    "order_id": "2000002",
    "Tracking Numbers": "3000003",
    "Quantity": "4",
    "eTail Order Line Id": "4000004",
    "Shopify Fulfillment Service": "manual",
    "location_id": "5000005",
    "internalid": "1000001",
    "fulfillmentOrders": [
      {
        "id": 6000006,
        "shop_id": 7000007,
        "order_id": 2000002,
        "assigned_location_id": 5000005,
        "request_status": "unsubmitted",
        "status": "open",
        "supported_actions": [
          "create_fulfillment",
          "hold"
        ],
        "destination": {
          "id": 8000008,
          "address1": "123 Example St",
          "address2": "Apt 456",
          "city": "Faketown",
          "company": "Fake Company",
          "country": "United States",
          "email": "john.doe@example.com",
          "first_name": "John",
          "last_name": "Doe",
          "phone": "5555555555",
          "province": "Fakestate",
          "zip": "12345"
        },
        "line_items": [
          {
            "id": 9000009,
            "shop_id": 7000007,
            "fulfillment_order_id": 6000006,
            "quantity": 2,
            "line_item_id": 4000004,
            "inventory_item_id": 10000001,
            "fulfillable_quantity": 2,
            "variant_id": 11000002
          }
        ],
        "fulfill_at": "2023-03-30T12:00:00-07:00",
        "fulfill_by": null,
        "international_duties": null,
        "fulfillment_holds": [],
        "delivery_method": {
          "id": 12000003,
          "method_type": "shipping", ==> Here
          "min_delivery_date_time": null,
          "max_delivery_date_time": null
        },
        "assigned_location": {
          "address1": "789 Another St",
          "address2": null,
          "city": "Different City",
          "country_code": "US",
          "location_id": 5000005,
          "name": "789 Another St",
          "phone": null,
          "province": "Another State",
          "zip": "67890"
        },
        "merchant_requests": [],
        "LocationChangeResponse": {}
      },
      {
        "id": 6000007,
        "shop_id": 7000007,
        "order_id": 2000002,
        "assigned_location_id": 5000005,
        "request_status": "unsubmitted",
        "status": "open",
        "supported_actions": [
          "create_fulfillment",
          "hold"
        ],
        "destination": {
          "id": 8000009,
          "address1": "123 Example St",
          "address2": "Apt 456",
          "city": "Faketown",
          "company": "Fake Company",
          "country": "United States",
          "email": "john.doe@example.com",
          "first_name": "John",
          "last_name": "Doe",
          "phone": "5555555555",
          "province":"Another province",

  "Fakestate": "",
  "zip": "12345"
},
"line_items": [
{
  "id": 9000010,
  "shop_id": 7000007,
  "fulfillment_order_id": 6000007,
  "quantity": 2,
  "line_item_id": 4000005,
  "inventory_item_id": 10000003,
  "fulfillable_quantity": 2,
  "variant_id": 11000004
}
],
"fulfill_at": "2023-03-30T12:00:00-07:00",
"fulfill_by": null,
"international_duties": null,
"fulfillment_holds": [],
"delivery_method": {
  "id": 12000005,
  "method_type": "none", => Here
  "min_delivery_date_time": null,
  "max_delivery_date_time": null
},
"assigned_location": {
  "address1": "789 Another St",
  "address2": null,
  "city": "Different City",
  "country_code": "US",
  "location_id": 5000005,
  "name": "789 Another St",
  "phone": null,
  "province": "Another State",
  "zip": "67890"
},
"merchant_requests": [],
"LocationChangeResponse": {}
}
],
},
{
  "id": "1000002",
  "recordType": "itemfulfillment",
  "order_id": "2000003",
  "Tracking Numbers": "3000004",
  "Quantity": "4",
  "eTail Order Line Id": "4000005",
  "Shopify Fulfillment Service": "manual",
  "location_id": "5000005",
  "internalid": "1000002"
}
]

@garyrgilbert Thanks

1 Like