Find the answer to your question
I listed an item with CalculatedShipping and specified a PackagingHandlingCost of $10.00, but when I make a call to GetItemTransactions, PackagingHandlingCost returns as 0. This happens only for some items, for other items I do get the correct PackagingHandlingCost. Why does this happen?
Whenever the Seller sends an Invoice either via the website or the SendInvoice call, the seller has the opportunity to revise the ShippingCost, which includes the PackagingHandlingCost. Since the costs are not tracked separately in the SendInvoice process, there really is not way to keep track of whether the seller has modified the PackagingHandlingCost or not. Hence it is set to zero and only the ShippingCost is retained, which includes the PackagingHandlingCost.
Irrespective of whether the PackagingHandlingCost is returned as zero or not, Transaction.ShippingServiceSelected.ShippingServiceCost will always include the PackagingHandlingCost. If you want to get a split of the actual shipping cost charged by the carrier and the PackagingHandlingCost charged by the seller, you would have to keep track of what you sent in the AddItem call for PackagingHandlingCost, or you can get it via the GetItem call. Once you know the PackagingHandlingCost, you can get the actual ShippingCost charged by the shipping carrier by subtracting PackagingHandlingCost from ShippingServiceSelected.ShippingServiceCost.
At this point, it is not trivial to find out via the API if the seller has sent an invoice or not and this is being considered as a feature request by the Product Management team.