Matching FBA TransportContent member (Physical Inbound Box) to InboundShipmentItem member (Group of SKU[s])


#1

Hello!

I’m having trouble matching up individual TransportContent PackageList members (Physical FBA inbound boxes shipped from a seller to Amazon) under a single inbound ShipmentId returned from a GetTransportContent call, to individual InboundShipmentItem members (Singular or multiple product SKUs to be shipped to Amazon for FBA intake) returned from a ListInboundShipmentItems call.

My goal is to use this data to get as close as possible to calculating the per-SKU cost of an InboundShipment. Only the total cost for all boxes is returned in the header of the GetTransportContent call, and while I can get close to calculating the cost for each box by factoring in its size and weight, I see no way to determine what SKUs/products are in that box to be able to spread the cost over each product.

As an example, here’s a mock response from a ListInboundShipmentItems call:

<ListInboundShipmentItemsResponse xmlns="http://mws.amazonaws.com/FulfillmentInboundShipment/2010-10-01/">
  <ListInboundShipmentItemsResult>
    <ItemData>
      <member>
        <QuantityShipped>1</QuantityShipped>
        <ShipmentId>FBA123ABC456</ShipmentId>
        <PrepDetailsList>
          <PrepDetails>
            <PrepOwner>SELLER</PrepOwner>
            <PrepInstruction>Labeling</PrepInstruction>
          </PrepDetails>
        </PrepDetailsList>
        <FulfillmentNetworkSKU>X123ABC001</FulfillmentNetworkSKU>
        <SellerSKU>SSKU001</SellerSKU>
        <QuantityReceived>1</QuantityReceived>
        <QuantityInCase>0</QuantityInCase>
      </member>
      <member>
        <QuantityShipped>1</QuantityShipped>
        <ShipmentId>FBA123ABC456</ShipmentId>
        <PrepDetailsList>
          <PrepDetails>
            <PrepOwner>SELLER</PrepOwner>
            <PrepInstruction>Labeling</PrepInstruction>
          </PrepDetails>
        </PrepDetailsList>
        <FulfillmentNetworkSKU>X123ABC002</FulfillmentNetworkSKU>
        <SellerSKU>SSKU002</SellerSKU>
        <QuantityReceived>1</QuantityReceived>
        <QuantityInCase>0</QuantityInCase>
      </member>
      <member>
        <QuantityShipped>2</QuantityShipped>
        <ShipmentId>FBA123ABC456</ShipmentId>
        <PrepDetailsList>
          <PrepDetails>
            <PrepOwner>SELLER</PrepOwner>
            <PrepInstruction>Labeling</PrepInstruction>
          </PrepDetails>
        </PrepDetailsList>
        <FulfillmentNetworkSKU>X123ABC003</FulfillmentNetworkSKU>
        <SellerSKU>SSKU003</SellerSKU>
        <QuantityReceived>2</QuantityReceived>
        <QuantityInCase>0</QuantityInCase>
      </member>
    </ItemData>
  </ListInboundShipmentItemsResult>
  <ResponseMetadata>
    <RequestId>58d52e4a-aee7-4ef7-acda</RequestId>
  </ResponseMetadata>
</ListInboundShipmentItemsResponse>

And then a response from a GetTransportContent call for the same ShipmentId:

<GetTransportContentResponse xmlns="http://mws.amazonaws.com/FulfillmentInboundShipment/2010-10-01/">
  <GetTransportContentResult>
    <TransportContent>
      <TransportHeader>
        <SellerId>REDACTED</SellerId>
        <ShipmentId>FBA123ABC456</ShipmentId>
        <IsPartnered>true</IsPartnered>
        <ShipmentType>SP</ShipmentType>
      </TransportHeader>
      <TransportDetails>
        <PartneredSmallParcelData>
          <PartneredEstimate>
            <Amount>
              <CurrencyCode>USD</CurrencyCode>
              <Value>69.33</Value>
            </Amount>
            <VoidDeadline>2020-06-18T20:58:47Z</VoidDeadline>
          </PartneredEstimate>
          <PackageList>
            <member>
              <CarrierName>UNITED_PARCEL_SERVICE_INC</CarrierName>
              <Weight>
                <Unit>pounds</Unit>
                <Value>10.0</Value>
              </Weight>
              <PackageStatus>SHIPPED</PackageStatus>
              <Dimensions>
                <Unit>IN</Unit>
                <Width>12.0</Width>
                <Length>20.0</Length>
                <Height>11.0</Height>
              </Dimensions>
              <TrackingId>1Z81RR1231231231231</TrackingId>
            </member>
            <member>
              <CarrierName>UNITED_PARCEL_SERVICE_INC</CarrierName>
              <Weight>
                <Unit>pounds</Unit>
                <Value>33.0</Value>
              </Weight>
              <PackageStatus>SHIPPED</PackageStatus>
              <Dimensions>
                <Unit>IN</Unit>
                <Width>14.0</Width>
                <Length>16.0</Length>
                <Height>14.0</Height>
              </Dimensions>
              <TrackingId>1Z81RR1231231231232</TrackingId>
            </member>
          </PackageList>
        </PartneredSmallParcelData>
      </TransportDetails>
      <TransportResult>
        <TransportStatus>CONFIRMED</TransportStatus>
      </TransportResult>
    </TransportContent>
  </GetTransportContentResult>
  <ResponseMetadata>
    <RequestId>132b0493-2a29-4521-8f91</RequestId>
  </ResponseMetadata>
</GetTransportContentResponse>

So, I have a InboundShipment with 3 SKUs (4 total product quantity) and 2 physical boxes, but no way to know what products went in which box.

I tried looking through all the Amazon FBA Reports as well, but did not find anything there that would help.

Thanks in advance for the help!


#2

Hello,

When I was coding something similar I ran into the same issue. I decided to keep track of what went in each box at the point where I received a response from a “Create Inbound Shipment” and prior to doing a “Put Transport Content.”

I realized that I was providing box dimension and weight information and even information about 1 item from a SKU going to one location and 1 to another; however, at no time did I provide information on what went in each box. Since I didn’t provide SKU per box level information I stopped looking for that information when I did a GetTransportContent.

MythReal Enterprises


#3

Hello,

I just recalled that I capture box content at the point where I did a POST FBA INBOUND CARTON CONTENTS, but I still didn’t have the same information returned when I did a Get Transport Content.