I have seen only Invoice headers before many times and every time it’s because only positive Ship Qty’s will create Invoice Lines (no need to invoice zero qty).
If I remember correctly the Invoice Entry Get Shipments only evaluates the ShipDtl.SellingXXXXShipQty fields.
From your data, it looks like something went wrong during the shipping process resulting in a negative in the SellingInventoryShipQty and a Positive in the SellingJosShipQty. I suspect the Get Shipments process is adding those two fields together, coming up with zero and thus does not need to be Invoiced.
I have a client with a weird somewhat random issue where if they enter the same SO Line/Rel with the same LotNum on two different Lines on the Same Pack, one of those lines will have the SellingXXXShipQty to be double of the OurXXXShipQty. Epicor support only wanted to provide a data specific data fix for each time this happens (a few times a month), so I ended up using an SQL script to correct the data after confirmations from Shipping. Otherwise it will Invoice for the double the amount.
Yes, it was my thinking that it was adding the SellingInventoryShipQty and SellingJobShipQty and coming up with zero. I set SellingInventoryShipQty to zero with DMT and both shipments invoices just fine. Just had to unship first and then reship after.
Both shipments were from single line orders with qty 1 ordered and shipped.